package cn.oracle.eshop.Inventory.dao.impl;

import cn.oracle.eshop.Inventory.dao.GoodsStockDAO;
import cn.oracle.eshop.Inventory.domain.GoodsStockDO;
import cn.oracle.eshop.Inventory.mapper.GoodsStockMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

/** 商品库存管理模块的DAO组件
 * @author wyh
 * @ClassName GoodsStockDAOImpl
 * @date 2022/3/29 /22:03
 */
@Slf4j
@Repository
public class GoodsStockDAOImpl implements GoodsStockDAO {
    @Autowired
    private GoodsStockMapper goodsStockMapper;
    /***
     * 根据商品sku_id查询商品库存
     * @author wyh
     * @date 2022/3/29
     * @param goodsSkuId
     * @return cn.oracle.eshop.Inventory.domain.GoodsStockDO
     */
    @Override
    public GoodsStockDO getGoodsStockBySkuId(Long goodsSkuId) {
        try {
            return goodsStockMapper.getGoodsStockBySkuId(goodsSkuId);
        } catch (Exception e) {
           log.error("查询商品库存发生错误：{},{}",e.getMessage(),e);
        }
        return null;
    }
    /***
     *  新增商品库存
     * @author wyh
     * @date 2022/3/29
     * @param goodsStockDO 商品库存DO对象
     * @return void
     */
    @Override
    public Boolean saveGoodsStock(GoodsStockDO goodsStockDO) {

        try {
            goodsStockMapper.saveGoodsStock(goodsStockDO);
        } catch (Exception e) {
            log.error("新增商品库存发生错误：{},{}", e.getMessage(), e);
            return false;
        }
        return true;
    }
    /***
     * 更新商品库存
     * @author wyh
     * @date 2022/3/29
     * @param goodsStockDO 商品库存DO对象
     * @return void
     */
    @Override
    public Boolean updateGoodsStock(GoodsStockDO goodsStockDO) {
        try {
            goodsStockMapper.updateGoodsStock(goodsStockDO);
        } catch (Exception e) {
            log.error("更新商品库存发生错误：{},{}", e.getMessage(), e);
            return false;
        }
        return true;
    }
}
